/*
 * Author: Jeff Liu(jebberwocky@gmail.com)
 * Date: Sep 7, 2010 9:49:15 PM
 * 
 * License: MIT
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
 * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 
 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
package org.gglgeo.ggl;

import java.io.UnsupportedEncodingException;

import org.gglgeo.api.GeoObjParser;
import org.gglgeo.impl.JsonGeoObjParser;

/**
 * The Class Geocoder.
 */
public class Geocoder {
	
	private GeoObjParser parser;
	
	public GeoResult get(GeoInfo info) throws UnsupportedEncodingException{
		return get(info, "json");
	}
	
	public GeoResult get(GeoInfo info, String format) throws UnsupportedEncodingException{
		if(info ==null)
			return null;
		if("json".equals(format))
			parser = new JsonGeoObjParser();
		String resultText = GoogleGeoAPI.SendRequest(info, format);
		GeoResult result = parser.parse(resultText);
		return result;
	}
}
